Field of the Invention
One or more embodiments of the invention are related to the field of image analysis and image enhancement and computer graphics processing of two-dimensional images into three-dimensional images. More particularly, but not by way of limitation, one or more embodiments of the invention enable a three-dimensional annotation system and method. Embodiments accept a desired depth for a region in a two-dimensional image, or three-dimensional image, and annotate the image with three-dimensional annotations at the desired depth for example. This enables rapid and intuitive depth alteration in three-dimensional images and conversion of two-dimensional images to three-dimensional images by enabling stereographers to specify depths for regions of images in an intuitive manner. Embodiments may display an annotated image with a corresponding stereoscopic image or pair of images for left and right eye viewing, or any other three-dimensional viewing enabled image, such as an anaglyph image.
Description of the Related Art
Three-dimensional images include any type of image or images that provide different left and right eye views to encode depth, some types of three-dimensional images require use of special glasses to ensure the left eye viewpoint is shown to the left eye and the right eye viewpoint is shown to the right eye of an observer. Existing systems that are utilized to convert two-dimensional images to three-dimensional images typically require rotoscoping of images to create outlines of regions in the images. The rotoscoped regions are then individually depth adjusted by hand to produce a left and right eye image, or single anaglyph image, or other three-dimensionally viewable image, such as a polarized three-dimensional image viewed with left and right lenses having different polarization angles for example. There is no easy way for stereographers to specify specific depths to apply to regions in a natural way. Thus, ad hoc depths are applied to images, and if the images are not acceptable, for example after client review, then there is no easy manner in which to provide easy feedback. Without a visual language to give creative and technical notes for the placement of objects, feedback can be unclear, causing more creative and technical iteration.
In addition, typical methods for converting movies from 2D to 3D in an industrial setting capable of handling the conversion of hundreds of thousands of frames of a movie with large amounts of labor or computing power, make use of an iterative workflow. The iterative workflow includes rotoscoping or modeling objects in each frame, adding depth and then rendering the frame into left and right viewpoints forming an anaglyph image or a left and right image pair. If there are errors in the edges of the masked objects for example, then the typical workflow involves an “iteration”, i.e., sending the frames back to the workgroup responsible for masking the objects, (which can be in a country with cheap unskilled labor half way around the world), after which the masks are sent to the workgroup responsible for rendering the images, (again potentially in another country), wherein rendering is accomplished by either shifting input pixels left and right for cell animation images for example or ray tracing the path of light through each pixel in left and right images to simulate the light effects the path of light interacts with and for example bounces off of or through, which is computationally extremely expensive. After rendering, the rendered image pair is sent back to the quality assurance group. It is not uncommon in this workflow environment for many iterations of a complicated frame to take place. This is known as “throw it over the fence” workflow since different workgroups work independently to minimize their current workload and not as a team with overall efficiency in mind. With hundreds of thousands of frames in a movie, the amount of time that it takes to iterate back through frames containing artifacts can become high, causing delays in the overall project. Even if the re-rendering process takes place locally, the amount of time to re-render or ray-trace all of the images of a scene can cause significant processing and hence delays on the order of at least hours. Each iteration may take a long period of time to complete as the work may be performed by groups in disparate locations having shifted work hours. Elimination of iterations such as this would provide a huge savings in wall-time, or end-to-end time that a conversion project takes, thereby increasing profits and minimizing the workforce needed to implement the workflow.
Hence there is a need for a three-dimensional annotation system and method.